The present invention relates to a controller and a transfer speed control method that enable data transfer between buses with different standards such as PCI Express and USB, and particularly to a controller and a transfer speed thereof that are suitable for the case in which both standards have a plurality of transfer speeds.
USB (Universal Serial Bus) is in widespread use as an interface of external peripheral devices such as PC (Personal Computer), and various USB devices with USB interfaces have been created.
In the USB 2.0 standard, the maximum transfer speed can be increased up to 480 Mbps (High Speed), which has been 12 Mbps (Full Speed) in the USB 1.1 standard.
Japanese Unexamined Patent Application Publication No. 2005-327247 discloses that although the USB device adopting the USB 2.0 standard can increase the transfer speed extremely high, the higher the transfer speed to be close to the maximum transfer speed 480 Mbps, the larger the power consumption. For example, there is a problem pointed out that when the USB device adopting the USB 2.0 standard is connected to a mobile terminal device and the like, the limited power supply ability of the mobile terminal device is consumed in a short time.
Further, Japanese Unexamined Patent Application Publication No. 2005-071273 discloses an electronic device and an interface control method thereof that aim to obtain a connection mode at the time of connecting the USB cable, select a first or a second configuration according to the obtained connection mode, and execute a data transfer process according to the first or the second configuration.
By the way, when a device such as PC adopting the bus standard PCI express is connected to the USB device, a converter (hereinafter referred to as a USB host controller) for converting both data is required. Usually PCs often have these USB controllers mounted in advance, and a user can transfer data from the USB device to the PC only by inserting a USB device terminal to a USB terminal provided to the PC.
FIG. 8 is a view showing a USB host controller of a related art. As shown in FIG. 8, a USB 3 host controller 101 is connected to a PCI master 102, for example, inside the PC. The other side is connected to a USB device 103. This USB 3 host controller 101 includes a PCI Express interface 111, a transfer data converting unit 112, a USB 3 interface 113, and a USB 2 interface 114.
Data of the PCI Express standard is input to the transfer data converting unit 112 via the PCI Express interface 111 from the PCI master 102 side, and converted into USB 3 or USB 2 format data here. Then, data of the USB 3 format is output via the USB 3 interface and data of the USB 2 format is output via the USB interface 114 to the USB device 103, and vise versa. Specifically, data of the USB format is input to the transfer data converting unit 112 from the USB device 103 via the USB 3 interface 113 or the USB 2 interface 114, converted into data of the PCI Express format, and output to the PCI master 102 via the PCI interface 111.
Currently two transfer speeds, which are Gen1 (2.5 GT/s (Transaction Per Second: Tps)) and Gen2 (5 GT/s), are defined in the PCI Express. Note that 6.4 GTps=25.6 GBps.
On the other hand, there are four kinds of the transfer speeds supported by USB 3, which includes Super Speed (SS) (5 Gbps), besides the abovementioned High Speed (480 Mbps), Full Speed (12 Mbps), and Low Speed (1.2 Mbps). The only transfer speed that requires Gen2 (5 GT/s) is SS, and Gen1 (2.5 GT/s) is enough for the other transfer speeds.